#ifndef __FUNC_OLED_H__
#define __FUNC_OLED_H__

typedef struct
{
  GPIO_TypeDef* scl_gpio;
  uint16_t scl_pin;
  GPIO_TypeDef* sda_gpio;
  uint16_t sda_pin;
  GPIO_TypeDef* dc_gpio;
  uint16_t dc_pin;
  GPIO_TypeDef* cs_gpio;
  uint16_t cs_pin;
  GPIO_TypeDef* rst_gpio;
  uint16_t rst_pin;
}OLEDTaskParaTypeDef;

void oled_TaskFunction(void *pvParameters);
void OLED_ClearPoint(uint8_t x,uint8_t y);
void OLED_ColorTurn(uint8_t i);
void OLED_DisplayTurn(uint8_t i);
void OLED_WR_Byte(uint8_t dat,uint8_t cmd);
void OLED_DisPlay_On(void);
void OLED_DisPlay_Off(void);
void OLED_Refresh(void);
void OLED_Clear(void);
void OLED_DrawPoint(uint8_t x,uint8_t y);
void OLED_DrawLine(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2);
void OLED_DrawCircle(uint8_t x,uint8_t y,uint8_t r);
void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t size1);
void OLED_ShowString(uint8_t x,uint8_t y,uint8_t *chr,uint8_t size1);
void OLED_ShowNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size1);
void OLED_ShowChinese(uint8_t x,uint8_t y,uint8_t num,uint8_t size1);
void OLED_ScrollDisplay(uint8_t num,uint8_t space);
void OLED_WR_BP(uint8_t x,uint8_t y);
void OLED_ShowPicture(uint8_t x0,uint8_t y0,uint8_t x1,uint8_t y1,uint8_t BMP[]);
void OLED_Init(void);

#endif